An ontology is a representation of knowledge by a set of concepts and relationships between the concepts, where the knowledge is included within one or more software-based applications. Merging (i.e., associating) ontologies that address the same knowledge domain includes aligning the concepts and relationships of the schemas underlying the ontologies so as to create a mapping between the schemas. Merging ontologies that address different knowledge domains may include aligning the schemas underlying the ontologies by interacting with an end user and an upper reference ontology instead of a domain-specific ontology, or by ensuring that the schemas are built using the same method and the same reference ontology. When two schemas that are in the same domain or different domains are aligned, the schemas may be merged by connecting the concepts that are common to the two schemas. In the case of the schemas belonging to the same domain, a merge of the two schemas makes new structures (i.e., relationships) apparent, which completes the knowledge of the domain. In the case of the schemas belonging to different domains, the merge of the two schemas creates new cross-domain structures that do not exist in the individual schemas and that are potential sources of innovation.